/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
package br.jm.financeiro.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author joao
 */
@Entity
@Table(name = "empresa", catalog = "salao", schema = "public")
@NamedQueries({
    @NamedQuery(name = "Empresa.findAll", query = "SELECT e FROM Empresa e")})
public class Empresa implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "empresa_id_seq")
    @SequenceGenerator(name = "empresa_id_seq", sequenceName = "empresa_id_seq", initialValue = 1, allocationSize = 1)
    @Basic(optional = false)
    @NotNull
    @Column(name = "id_empresa", nullable = false)
    private Integer idEmpresa;
    @Basic(optional = false)
    @NotNull
    @Size(max = 200)
    @Column(name = "nom_empresa", length = 200, nullable = false)
    private String nomEmpresa;
    @Basic(optional = false)
    @NotNull
    @Size(max = 100)
    @Column(name = "num_proposta", length = 100, nullable = false)
    private String numProposta;
    @Basic(optional = false)
    @NotNull
    @Size(max = 100)
    @Column(name = "num_os", length = 100, nullable = false)
    private String numOs;
    @Column(name = "perc_cofins", precision = 10, scale = 2)
    private BigDecimal percCofins;
    @Column(name = "perc_pis", precision = 10, scale = 2)
    private BigDecimal percPis;
    @Column(name = "perc_csl", precision = 10, scale = 2)
    private BigDecimal percCsl;
    @Column(name = "perc_ir", precision = 10, scale = 2)
    private BigDecimal percIr;
    @Column(name = "perc_iss", precision = 10, scale = 2)
    private BigDecimal percIss;
    @Column(name = "perc_cofins_triunfo", precision = 10, scale = 2)
    private BigDecimal percCofins_triunfo;
    @Column(name = "perc_pis_triunfo", precision = 10, scale = 2)
    private BigDecimal percPis_triunfo;
    @Column(name = "perc_csl_triunfo", precision = 10, scale = 2)
    private BigDecimal percCsl_triunfo;
    @Column(name = "perc_ir_triunfo", precision = 10, scale = 2)
    private BigDecimal percIr_triunfo;
    @Column(name = "perc_iss_triunfo", precision = 10, scale = 2)
    private BigDecimal percIss_triunfo;
    @Column(name = "tip_calculo_iss", length = 1, nullable = true)
    private String tipCalculoIss;
    
    @Column(name = "perc_cofins_maior", precision = 10, scale = 2)
    private BigDecimal percCofinsMaior;
    @Column(name = "perc_pis_maior", precision = 10, scale = 2)
    private BigDecimal percPisMaior;
    @Column(name = "perc_csl_maior", precision = 10, scale = 2)
    private BigDecimal percCslMaior;
    @Column(name = "perc_ir_maior", precision = 10, scale = 2)
    private BigDecimal percIrMaior;
    @Column(name = "perc_iss_maior", precision = 10, scale = 2)
    private BigDecimal percIssMaior;
    @Column(name = "perc_cofins_triunfo_maior", precision = 10, scale = 2)
    private BigDecimal percCofins_triunfoMaior;
    @Column(name = "perc_pis_triunfo_maior", precision = 10, scale = 2)
    private BigDecimal percPis_triunfoMaior;
    @Column(name = "perc_csl_triunfo_maior", precision = 10, scale = 2)
    private BigDecimal percCsl_triunfoMaior;
    @Column(name = "perc_ir_triunfo_maior", precision = 10, scale = 2)
    private BigDecimal percIr_triunfoMaior;
    @Column(name = "perc_iss_triunfo_maior", precision = 10, scale = 2)
    private BigDecimal percIss_triunfoMaior;
    @Column(name = "tip_calculo_iss_maior", length = 1, nullable = true)
    private String tipCalculoIssMaior;
    @Column(name = "base_calculo", precision = 10, scale = 2)
    private BigDecimal baseCalculo;
    @Column(name = "perc_juros", precision = 10, scale = 2)
    private BigDecimal percJuros;
    @Column(name = "perc_multa", precision = 10, scale = 2)
    private BigDecimal percMulta;

    public Empresa() {
    }

    public Empresa(Integer idEmpresa) {
        this.idEmpresa = idEmpresa;
    }

    public Integer getIdEmpresa() {
        return idEmpresa;
    }

    public void setIdEmpresa(Integer idEmpresa) {
        this.idEmpresa = idEmpresa;
    }

    public String getNomEmpresa() {
        return nomEmpresa;
    }

    public void setNomEmpresa(String nomEmpresa) {
        this.nomEmpresa = nomEmpresa;
    }

    public String getNumProposta() {
        return numProposta;
    }

    public void setNumProposta(String numProposta) {
        this.numProposta = numProposta;
    }

    public String getNumOs() {
        return numOs;
    }

    public void setNumOs(String numOs) {
        this.numOs = numOs;
    }

    public BigDecimal getPercCofins() {
        return percCofins;
    }

    public void setPercCofins(BigDecimal percCofins) {
        this.percCofins = percCofins;
    }

    public BigDecimal getPercPis() {
        return percPis;
    }

    public void setPercPis(BigDecimal percPis) {
        this.percPis = percPis;
    }

    public BigDecimal getPercCsl() {
        return percCsl;
    }

    public void setPercCsl(BigDecimal percCsl) {
        this.percCsl = percCsl;
    }

    public BigDecimal getPercIr() {
        return percIr;
    }

    public void setPercIr(BigDecimal percIr) {
        this.percIr = percIr;
    }

    public BigDecimal getPercIss() {
        return percIss;
    }

    public void setPercIss(BigDecimal percIss) {
        this.percIss = percIss;
    }

    public BigDecimal getPercCofins_triunfo() {
        return percCofins_triunfo;
    }

    public void setPercCofins_triunfo(BigDecimal percCofins_triunfo) {
        this.percCofins_triunfo = percCofins_triunfo;
    }

    public BigDecimal getPercPis_triunfo() {
        return percPis_triunfo;
    }

    public void setPercPis_triunfo(BigDecimal percPis_triunfo) {
        this.percPis_triunfo = percPis_triunfo;
    }

    public BigDecimal getPercCsl_triunfo() {
        return percCsl_triunfo;
    }

    public void setPercCsl_triunfo(BigDecimal percCsl_triunfo) {
        this.percCsl_triunfo = percCsl_triunfo;
    }

    public BigDecimal getPercIr_triunfo() {
        return percIr_triunfo;
    }

    public void setPercIr_triunfo(BigDecimal percIr_triunfo) {
        this.percIr_triunfo = percIr_triunfo;
    }

    public BigDecimal getPercIss_triunfo() {
        return percIss_triunfo;
    }

    public void setPercIss_triunfo(BigDecimal percIss_triunfo) {
        this.percIss_triunfo = percIss_triunfo;
    }

    public String getTipCalculoIss() {
        return tipCalculoIss;
    }

    public void setTipCalculoIss(String tipCalculoIss) {
        this.tipCalculoIss = tipCalculoIss;
    }

    public BigDecimal getPercCofinsMaior() {
        return percCofinsMaior;
    }

    public void setPercCofinsMaior(BigDecimal percCofinsMaior) {
        this.percCofinsMaior = percCofinsMaior;
    }

    public BigDecimal getPercPisMaior() {
        return percPisMaior;
    }

    public void setPercPisMaior(BigDecimal percPisMaior) {
        this.percPisMaior = percPisMaior;
    }

    public BigDecimal getPercCslMaior() {
        return percCslMaior;
    }

    public void setPercCslMaior(BigDecimal percCslMaior) {
        this.percCslMaior = percCslMaior;
    }

    public BigDecimal getPercIrMaior() {
        return percIrMaior;
    }

    public void setPercIrMaior(BigDecimal percIrMaior) {
        this.percIrMaior = percIrMaior;
    }

    public BigDecimal getPercIssMaior() {
        return percIssMaior;
    }

    public void setPercIssMaior(BigDecimal percIssMaior) {
        this.percIssMaior = percIssMaior;
    }

    public BigDecimal getPercCofins_triunfoMaior() {
        return percCofins_triunfoMaior;
    }

    public void setPercCofins_triunfoMaior(BigDecimal percCofins_triunfoMaior) {
        this.percCofins_triunfoMaior = percCofins_triunfoMaior;
    }

    public BigDecimal getPercPis_triunfoMaior() {
        return percPis_triunfoMaior;
    }

    public void setPercPis_triunfoMaior(BigDecimal percPis_triunfoMaior) {
        this.percPis_triunfoMaior = percPis_triunfoMaior;
    }

    public BigDecimal getPercCsl_triunfoMaior() {
        return percCsl_triunfoMaior;
    }

    public void setPercCsl_triunfoMaior(BigDecimal percCsl_triunfoMaior) {
        this.percCsl_triunfoMaior = percCsl_triunfoMaior;
    }

    public BigDecimal getPercIr_triunfoMaior() {
        return percIr_triunfoMaior;
    }

    public void setPercIr_triunfoMaior(BigDecimal percIr_triunfoMaior) {
        this.percIr_triunfoMaior = percIr_triunfoMaior;
    }

    public BigDecimal getPercIss_triunfoMaior() {
        return percIss_triunfoMaior;
    }

    public void setPercIss_triunfoMaior(BigDecimal percIss_triunfoMaior) {
        this.percIss_triunfoMaior = percIss_triunfoMaior;
    }

    public String getTipCalculoIssMaior() {
        return tipCalculoIssMaior;
    }

    public void setTipCalculoIssMaior(String tipCalculoIssMaior) {
        this.tipCalculoIssMaior = tipCalculoIssMaior;
    }

    public BigDecimal getBaseCalculo() {
        return baseCalculo;
    }

    public void setBaseCalculo(BigDecimal baseCalculo) {
        this.baseCalculo = baseCalculo;
    }

    public BigDecimal getPercJuros() {
        return percJuros;
    }

    public void setPercJuros(BigDecimal percJuros) {
        this.percJuros = percJuros;
    }

    public BigDecimal getPercMulta() {
        return percMulta;
    }

    public void setPercMulta(BigDecimal percMulta) {
        this.percMulta = percMulta;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idEmpresa != null ? idEmpresa.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Empresa)) {
            return false;
        }
        Empresa other = (Empresa) object;
        if ((this.idEmpresa == null && other.idEmpresa != null) || (this.idEmpresa != null && !this.idEmpresa.equals(other.idEmpresa))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.jm.acionista.entity.Empresa[ idEmpresa=" + idEmpresa + " ]";
    }
    
}
